﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Warehouse.Application.Dto.Input;
using Warehouse.Application.Dto.Output;
using Warehouse.Domain.Entities;
using Warehouse.Result;

namespace Warehouse.Application.Services.Storage
{
    public interface IStorageAppService
    {
        /// <summary>
        /// 创建货架/库区
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> CreateStore(CreateStoreInput input);
        /// <summary>
        /// 获取货架/库区列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiPaing<StorageOutput> GetStorage(PageInput input);
        /// <summary>
        /// 所属仓库下拉
        /// </summary>
        /// <returns></returns>
        ApiPaing<WareHouseModel> GetAllWareHouse();
        /// <summary>
        /// 删除货架/库区详情
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> DeltetStorage(long Id);
        /// <summary>
        /// 修改货架/库区详情
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> UpdateStorage(UpdateStorageInput input);
        /// <summary>
        /// 获取一条货架/库区详情用来回显操作
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<StorageModel> GetModelStorage(long Id);

    }
}
